<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form id="formNuevaGuiaDeRemision">
                    <h:panelGrid columns="1" style="width:650px;margin: 0px auto;">
                        <p:commandButton id="btnNuevoGuiaDeRemision"
                                         onclick="dlg2.show();"
                                         value="INGRESAR NUEVA GUIA DE REMISION" type="button"/>
                    </h:panelGrid>
                </h:form>
                <h:form id="formBusquedaGuiaDeRemision">
                    <p:panel id="pnlBusquedaGuiaDeRemision"
                             header="Consultar Guia De Remision"
                             style="width:650px;margin: 5px auto" 
                             toggleable="true" widgetVar="buscar" collapsed="#{(BKListGuiaDeRemision.listaGuiasDeRemision ne null)}">

                        <p:panelGrid>

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblPedido" value="CODIGO OP: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu id="cbxOrdenP" style="width: 200px" 
                                                     filter="#{BKListGuiaDeRemision.listaOrdenesPedido.size() gt 10}" filterMatchMode="contains"
                                                     value="#{BKListGuiaDeRemision.ordenPedidoBusqueda.id}"> 
                                        <f:selectItem itemLabel="Seleccionar" itemValue="-1" /> 
                                        <f:selectItem itemLabel="Sin OP" itemValue="0" /> 
                                        <f:selectItems value="#{BKListGuiaDeRemision.listaOrdenesPedido}" var="ordenP" 
                                                       itemLabel="#{ordenP.codigoOrdenPedido}" itemValue="#{ordenP.id}"/>
                                        <p:ajax update="cbxOrdenCS" process="@this" event="change" listener="#{MBListGuiaDeRemision.buscarListaOrdenComprasServicio}" />  
                                    </p:selectOneMenu>
                                </p:column>
                                <p:column>
                                    <h:outputLabel id="lblNroOrdenBuscar" value="CODIGO OC/OS: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu id="cbxOrdenCS" style="width: 200px" disabled="#{BKListGuiaDeRemision.ordenPedidoBusqueda.id eq -1}"
                                                     value="#{BKListGuiaDeRemision.guiaBusqueda.idOrdenCompraServicio.id}" 
                                                     filter="#{BKListGuiaDeRemision.listaOrdenSC.size() gt 10}" filterMatchMode="contains"> 
                                        <f:selectItem itemLabel="Seleccionar" itemValue="-1" /> 
                                        <f:selectItem itemLabel="Sin OC/OS" itemValue="0" /> 
                                        <f:selectItems value="#{BKListGuiaDeRemision.listaOrdenSC}" var="ordenCS" 
                                                       itemLabel="#{ordenCS.codigo}" itemValue="#{ordenCS.id}"/>	
                                    </p:selectOneMenu>
                                </p:column>
                            </p:row>


                            <p:row>
                                <p:column>
                                    <h:outputLabel value="TIPO GUIA: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu id="cbxTipoOrden" value="#{BKListGuiaDeRemision.guiaBusqueda.parametroTipoGuia.id}" style="width: 200px">
                                        <f:selectItem itemLabel="Seleccione" itemValue="0" />
                                        <f:selectItems value="#{BKListGuiaDeRemision.listaTipoGuia}"
                                                       var="tipo" itemLabel="#{tipo.desParametroDet}"
                                                       itemValue="#{tipo.id}" />
                                        <p:ajax process="@this" update="txtDestinatario cbxMotivoGuia lblDestinatario" listener="#{MBListGuiaDeRemision.elegirTipoGuia}" />
                                    </p:selectOneMenu>
                                </p:column>
                                <p:column>
                                    <h:outputLabel value="MOTIVO GUIA: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu value="#{BKListGuiaDeRemision.guiaBusqueda.parametroMotivoGuia.id}" style="width: 200px"
                                                     id="cbxMotivoGuia">   
                                        <f:selectItem itemLabel="Seleccione" itemValue="0" />
                                        <f:selectItems value="#{BKListGuiaDeRemision.listaMotivoGuia}"
                                                       var="tipoM" itemLabel="#{tipoM.desParametroDet}"
                                                       itemValue="#{tipoM.id}" />
                                    </p:selectOneMenu> 
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="NRO GUIA: " class="lblBusqueda" />

                                </p:column>
                                <p:column colspan="3">
                                    <p:inputText onkeyup="cambiarMayuscula(this)" style="width: 100%" value="#{BKListGuiaDeRemision.guiaBusqueda.numeroGuia}" />  
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="#{BKListGuiaDeRemision.guiaBusqueda.parametroTipoGuia.id eq 15?'REMITENTE':'DESTINATARIO'}: " 
                                                  class="lblBusqueda" id="lblDestinatario"/>

                                </p:column>
                                <p:column colspan="3">
                                    <p:inputText onkeyup="cambiarMayuscula(this)" style="width: 100%" disabled="#{BKListGuiaDeRemision.guiaBusqueda.parametroTipoGuia.id eq 0}"
                                                 id="txtDestinatario" value="#{BKListGuiaDeRemision.guiaBusqueda.nombreDestinatario}" />  
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblFechaInicio" value="DEL: " class="lblBusqueda"/>
                                </p:column>
                                <p:column>
                                    <p:calendar id="txtFechaInicio" locale="es" size="21"
                                                value="#{BKListGuiaDeRemision.fechaInicio}" 
                                                pattern="dd/MM/yyyy" 
                                                maxdate="#{BKListGuiaDeRemision.fechaFinal}"
                                                showOn="button" showButtonPanel="true" navigator="true">
                                        <p:ajax event="dateSelect" process="@this" update="txtFechaFinal" />
                                    </p:calendar>
                                </p:column>
                                <p:column>
                                    <h:outputLabel id="lblFechaFinal" value="AL: " class="lblBusqueda"/>
                                </p:column>
                                <p:column>
                                    <p:calendar id="txtFechaFinal" locale="es" size="21"
                                                value="#{BKListGuiaDeRemision.fechaFinal}" 
                                                pattern="dd/MM/yyyy"
                                                mindate="#{BKListGuiaDeRemision.fechaInicio}"
                                                showOn="button" showButtonPanel="true" navigator="true">
                                        <p:ajax event="dateSelect" process="@this" update="txtFechaInicio" />
                                    </p:calendar>
                                </p:column>
                            </p:row>
                            <p:row>
                                <p:column>
                                    <p:commandButton id="btnBuscarGuiaRemision" value="BUSCAR"
                                                     update="pnlListarGuiaRemision,dataTablaGuiaRemision"
                                                     actionListener="#{MBListGuiaDeRemision.buscarListaGuiaRemision}"
                                                     oncomplete="listaGuiaRemision.show();buscar.toggle()" style="font-size: 12px" />
                                </p:column>
                            </p:row>

                        </p:panelGrid>

                    </p:panel>

                    <p:panel id="pnlListarGuiaRemision"
                             header="Lista de Guias de Remision" closable="true"
                             style="width: 100%;margin: 10px auto" visible="#{(BKListGuiaDeRemision.listaGuiasDeRemision eq null)?false:true}"
                             widgetVar="listaGuiaRemision">
                        <p:dataTable id="dataTablaGuiaRemision" var="guiaRemision"
                                     value="#{BKListGuiaDeRemision.listaGuiasDeRemision}" widgetVar="lista"
                                     emptyMessage="No se encontraron Guias de Remision"
                                     filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="20"
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="20,40,60"
                                     scrollable="true" scrollHeight="250" style="width:100%" paginatorPosition="bottom" styleClass="datable-busqueda">
                            <f:facet name="header" >
                                <p:outputPanel layout="block" >
                                    <h:commandButton value="Exportar EXCEL">  
                                        <p:dataExporter type="xls" target="dataTablaGuiaRemision" fileName="clientes" />  
                                    </h:commandButton>  

                                    <h:commandButton value="Exportar PDF">  
                                        <p:dataExporter type="pdf" target="dataTablaGuiaRemision" fileName="clientes"/>  
                                    </h:commandButton>
                                </p:outputPanel>

                            </f:facet>
                            <p:column id="idColumnaNum" style="width: 3%" headerText="Nº">
                                <h:outputText value="#{rowIndex+1}" />
                            </p:column>

                            <p:column id="idColumnaNroOrdenP" style="width: 10%"
                                      sortBy="#{guiaRemision.nro_ordenp}" >
                                <f:facet name="header">  
                                    <h:outputText value="OP" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.nro_ordenp}" />
                            </p:column>

                            <p:column id="idColumnaNroOrden" style="width: 10%"
                                      sortBy="#{guiaRemision.nro_ordencs}" >
                                <f:facet name="header">  
                                    <h:outputText value="Orden C/S" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.nro_ordencs}" />
                            </p:column>

                            <p:column style="width: 6%"
                                      sortBy="#{guiaRemision.forma}" >
                                <f:facet name="header">  
                                    <h:outputText value="" />  
                                </f:facet>

                                <h:outputText value="#{guiaRemision.forma}" />

                            </p:column>

                            <p:column id="idColumnaMotivo" style="width: 6%;text-align: center"
                                      sortBy="#{guiaRemision.motivo}" >
                                <f:facet name="header">  
                                    <h:outputText value="Motivo" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.motivo.charAt(0)}" title="#{guiaRemision.motivo}"  
                                              style="text-align: center;border: 2px solid rgb(197, 219, 236);
                                              padding: 2px 8px;cursor: pointer;font-weight: bold"/>
                            </p:column>

                            <p:column id="idColumnaTipoGuia" style="width: 6%"
                                      sortBy="#{guiaRemision.tipo_guia}" >
                                <f:facet name="header">  
                                    <h:outputText value="Tipo" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.tipo_guia eq 'E'?'ENTRADA':'SALIDA'}" />
                            </p:column>

                            <p:column id="idColumnaNroGuia" style="width: 8%"
                                      sortBy="#{guiaRemision.nro_guia}" >
                                <f:facet name="header">  
                                    <h:outputText value="Nro Guia" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.nro_guia}"  />
                            </p:column>

                            <p:column id="idColumnaCant" style="width: 7%;text-align: right"
                                      sortBy="#{guiaRemision.nro_guia}" >
                                <f:facet name="header">  
                                    <h:outputText value="Total" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.cantidad}" >
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                </h:outputText>
                                <h:outputText value=" #{guiaRemision.unidad}" />
                            </p:column>

                            <p:column id="idColumnaRemitente" style="width: 14%"
                                      sortBy="#{guiaRemision.remitente}" >
                                <f:facet name="header">  
                                    <h:outputText value="Remitente" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.remitente}" />
                            </p:column>

                            <p:column id="idColumnaDestinatario" style="width: 14%"
                                      sortBy="#{guiaRemision.destinatario}" >
                                <f:facet name="header">  
                                    <h:outputText value="Destinatario" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.destinatario}" />
                            </p:column>

                            <p:column id="idColumnaEstado" style="width: 7%"
                                      sortBy="#{guiaRemision.descEstado}" >
                                <f:facet name="header">  
                                    <h:outputText value="Estado" />  
                                </f:facet>
                                <h:outputText value="#{guiaRemision.descEstado}" />
                            </p:column>

                            <p:column headerText="" style="width: 9%" exportable="false">
                                <h:commandLink action="#{MBListGuiaDeRemision.ver()}" target="_blank">
                                    <p:commandButton icon="ui-icon-search" title="Ver"  />
                                    <f:setPropertyActionListener value="#{guiaRemision}" target="#{BKListGuiaDeRemision.guiaRemisionTOCurrent}" />
                                </h:commandLink>
                                <p:commandButton id="btnAnularGuiaDeRemision" title="Anular"
                                                 rendered="#{guiaRemision.anularEnable}"
                                                 icon="ui-icon-close" oncomplete="confirmacionAnular.show()">
                                    <f:setPropertyActionListener value="#{guiaRemision}"
                                                                 target="#{BKListGuiaDeRemision.guiaRemisionTOCurrent}" />
                                </p:commandButton>
                                <p:commandButton id="btnRecepcionGuiaDeRemision" title="Confirmar Recepción"
                                                 rendered="#{guiaRemision.entregadoEnable?false:true}"
                                                 icon="ui-icon-check" oncomplete="confirmacionRecepcion.show()">
                                    <f:setPropertyActionListener value="#{guiaRemision}"
                                                                 target="#{BKListGuiaDeRemision.guiaRemisionTOCurrent}" />
                                </p:commandButton>
                                <p:commandButton id="btnEditarFecha" title="Editar" icon="ui-icon-pencil"  oncomplete="confirmarEditar.show()" process="@this"
                                                 rendered="#{guiaRemision.tipo_guia eq 'E'}" actionListener="#{MBListGuiaDeRemision.iniciarEdicion}"
                                                 ajax="true" update=":formBusquedaGuiaDeRemision:pnlUbigeo">
                                    <f:setPropertyActionListener value="#{guiaRemision}" target="#{BKListGuiaDeRemision.guiaRemisionTOCurrent}" />
                                </p:commandButton>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                    

                    <p:confirmDialog id="dlgRecibirGuiaDeRemision" message="¿Está seguro de confirmar la recepción de la guía?" 
                                     header="Confirmación de Recepción de Guía de Remisión" severity="alert" widgetVar="confirmacionRecepcion">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnConfRecGuiaDeRemision" update="dataTablaGuiaRemision,@this" value="Si"  oncomplete="confirmacionRecepcion.hide()"  
                                             actionListener="#{MBListGuiaDeRemision.confirmarRecepcion}" onclick="deshabilitarBoton(this)" />  
                            <p:commandButton id="btnCancRecGuiaDeRemision" value="No" onclick="confirmacionRecepcion.hide()" type="button" />   
                        </h:panelGrid>
                    </p:confirmDialog>	

                    <p:confirmDialog id="dlgAnularGuiaDeRemision" message="¿Está seguro que de sea Anular la Guia de Remisión?" 
                                     header="Anular Guia de Remisión" severity="alert" widgetVar="confirmacionAnular">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnConfAnuGuiaDeRemision" update="dataTablaGuiaRemision,@this" value="Si"  oncomplete="confirmacionAnular.hide()"  
                                             actionListener="#{MBListGuiaDeRemision.anular}" onclick="deshabilitarBoton(this)"/>  
                            <p:commandButton id="btnCancAnuGuiaDeRemision" value="No" onclick="confirmacionAnular.hide()" type="button" />   
                        </h:panelGrid>
                    </p:confirmDialog>	




                    <p:dialog id="modalDialog" header="TIPO GUIA DE REMISION" widgetVar="dlg2" modal="true" style="text-align-last: center ">  

                        <h:panelGrid columns="1" style="text-align:center" >
                            <h:column>
                                <h:outputText value="ELIJA EL TIPO DE GUIA DE REMISION: " />
                            </h:column>
                            <h:column>
                                &nbsp;
                            </h:column>
                            <h:column>
                                <p:commandButton action="#{MBGuiaDeRemisionIN.nuevo()}" value="ENTRADA"  ajax="false" immediate="true"/>&nbsp;&nbsp;
                                <p:commandButton action="#{MBGuiaDeRemisionOUT.nuevo()}" value="SALIDA"  ajax="false" immediate="true"/>
                            </h:column>
                        </h:panelGrid>

                    </p:dialog>	

                    <p:dialog id="dlgEditarFechas"  header="Editar" widgetVar="confirmarEditar" modal="true" dynamic="true"> 
                        <p:panelGrid id="pnlUbigeo">
                            <p:row>
                                <p:column style="width:160px">
                                    <h:outputLabel value="NRO GUIA: " class="lblForm"/>
                                </p:column>
                                <p:column>
                                    <h:outputText value="#{BKListGuiaDeRemision.guiaRemisionTOCurrent.nro_guia}" class="negrita" />
                                </p:column>
                            </p:row>
                            <p:row>
                                <p:column style="width:160px">
                                    <h:outputLabel id="lblSerie" value="NRO GUIA NUEVO: " class="lblForm"/>
                                </p:column>
                                <p:column>
                                    <p:inputText required="true" id="txtSerie"
                                                 size="4" value="#{BKListGuiaDeRemision.serieEditar}" maxlength="3" >
                                        <f:validateRegex pattern="[0-9]*" />
                                    </p:inputText>  
                                    <p:inputText required="true" id="txtNumDoc"
                                                 size="10" value="#{BKListGuiaDeRemision.numeroEditar}" maxlength="8" >
                                        <f:validateRegex pattern="[0-9]*" />
                                    </p:inputText>  
                                    <p:message for="txtSerie" display="text"  />
                                    <p:message for="txtNumDoc" display="text"  />
                                    <span class="formatComment">Ejemplo: 001-342167</span>
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column colspan="2" style="text-align: center">
                                    <p:commandButton style="text-align: center; font-size: 10px" value="ACTUALIZAR" process="@this pnlUbigeo"
                                                     actionListener="#{MBListGuiaDeRemision.actualizarNumero}" update="dataTablaGuiaRemision"
                                                     oncomplete="if (args.validationFailed){ confirmarEditar.show()} else {confirmarEditar.hide()}" />
                                    <p:commandButton type="button" value="CANCELAR" 
                                                     style="text-align: center; font-size: 10px" onclick="confirmarEditar.hide()"/>
                                </p:column>
                            </p:row>



                        </p:panelGrid>

                    </p:dialog>
                    

                </h:form>
            </f:view>
        </ui:define>
    </ui:composition>

</html>